home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 2003 May (DVD) / Macworld Resource DVD May 2003.toast / Data / Shareware / Internet / Blosxom1.2.sit / Blosxom.pkg / Contents / Resources / configure.pl < prev    next >
Encoding:
Perl Script  |  2003-02-13  |  1.2 KB  |  40 lines

  1. #!/usr/bin/perl
  2.  
  3. my $PACKAGE_PATH = $ENV{"PACKAGE_PATH"};
  4.  
  5. $PACKAGE_PATH or die "Couldn't figure out where the package lives.";
  6.  
  7. my $options = {
  8.   blog_name => qq{my $blog_title = "My Blosxom";},
  9.   blog_description => qq{my $blog_description = "Yet another Blosxom blog.";},
  10.   num_entries => qq{my $num_entries = 40;},
  11.   blog_language => qq{my $blog_language = "en";},
  12.   url => qq{my $url = "";}
  13. };
  14.  
  15. print "... reading out-of-the-box blosxom.cgi\n";
  16. open IN, "$PACKAGE_PATH/Contents/Resources/blosxom.cgi" or die "couldn't open $PACKAGE_PATH/Contents/Resources/blosxom.cgi for reading: $!\n";
  17. my $blosxom = join '', <IN>;
  18. close IN;
  19.  
  20. print "... prompting for answers to configuration questions\n";
  21. my $options = `/usr/bin/osascript $PACKAGE_PATH/Contents/Resources/configure.scpt 2>&1`;
  22. chomp $options;
  23.  
  24. $options =~ /User canceled/ and exit;
  25.  
  26. my $changes = 0;
  27. foreach ( split /\$\$\$/, $options ) {
  28.   my($k, $v) = split /=/, $_;
  29.   next unless $k and $v;
  30.   $blosxom =~ s!^my \$$k = (qq{|")?.+?["}]?;$!my \$$k = qq{$v};!mg;
  31.   $changes++;
  32. }
  33.  
  34. if ($changes) { 
  35.   print "... writing changes to blosxom.cgi\n";
  36.   open OUT, "> $PACKAGE_PATH/Contents/Resources/blosxom.cgi";
  37.   print OUT $blosxom;
  38.   close OUT;
  39. }
  40.